// http.ts
import axios from 'axios';

import { abbrStr } from './utils';

// 创建axios实例
const http = axios.create({
  baseURL: 'http://liuming.free.idcfengye.com/',
  timeout: 10000,
});

// 请求拦截器
http.interceptors.request.use(
  config => {
    // 假设你的token存储在localStorage中
    const token = localStorage.getItem('token');    
    if (token) {
      // 如果token存在，将它添加到请求头中
      config.headers['Authorization'] = `${token}`;
    }
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);
/*
// 添加响应拦截器 
http.interceptors.response.use(response => {
  if (response.statusText === 'OK') {
    if (response.config.url === '/goods') {
      for (let i = 0; i < response.data.data.length; i++) {
        response.data.data[i].abbreviationDescription = abbrStr(response.data.data[i].description, 10)
      }
      return Promise.resolve(response.data)
    }
    return Promise.resolve(response.data)
  } else {
    return Promise.reject(response.data.msg)
  }

}, error => {
  // 请求报错的回调可以和后端协调返回什么状态码，在此根据对应状态码进行对应处理
  if (error.response) {
    // 如401我就让用户返回登录页
    if (error.response.status === 401) {

    }
    // 比如返回报错你的页面可能会崩溃，你需要在它崩溃之前做一些操作的话，可以在这里
    return Promise.reject(error)
  } else {
    return Promise.reject('请求超时, 请刷新重试')
  }
})
*/

export default http;